#ifndef INFINITY_ENTITY_INL
#	define INFINITY_ENTITY_INL

namespace infinity {

inline EntityId::EntityId(const EntityId& ref /*= Invalid*/)
:	id(ref.id)
{
	;
}

/*explicit*/ inline EntityId::EntityId(const dw::uint64& pId)
:	id(pId)
{
	;
}

inline EntityId& EntityId::operator = (const EntityId& rhs)
{
	id = rhs.id;

	return *this;
}

inline bool operator == (const EntityId& lhs, const EntityId& rhs)
{
	return lhs.id == rhs.id;
}

inline Entity::Entity()
:	m_id(EntityId::Invalid)
{
}

inline const EntityId& Entity::getId() const
{
	return m_id;
}

inline const std::string& Entity::getName() const
{
	return m_name;
}

inline Entity::LifeState Entity::getLifeState() const
{
	return m_lifeState;
}

inline void Entity::setId(const EntityId& id)
{
	m_id = id;
}

inline void Entity::setName(const std::string& name)
{
	m_name = name;
}

inline void Entity::setLifeState(LifeState state)
{
	m_lifeState = state;
}

} // namespace infinity

#endif // INFINITY_ENTITY_INL
